Get Started
You can find our offical code here: TFB github
Table of Contents
- Quickstart
- Steps to develop your own method
- Steps to evaluate on your own time series
- Pipeline introduction
- FAQ
- Citing TFB
- Contact
Quickstart
Installation
From PyPI
Given a python environment (note: this project is fully tested under python 3.8), install the dependencies with the following command:
1 | pip install -r requirements.txt |
From Docker
We also provide a Dockerfile for you. For this setup to work you need to have a Docker service installed. You can get it at Docker website.
1 | docker build . -t tfb:latest |
1 | docker run -it -v $(pwd)/:/app/ tfb:latest bash |
Data preparation
Place the downloaded data under the folder ./dataset
.
Train and evaluate model
We provide the experiment scripts for all benchmarks under the folder ./scripts/multivariate_forecast
, and ./scripts/univariate_forecast
. For example you can reproduce a experiment result as the following:
1 | sh ./scripts/multivariate_forecast/ILI_script/DLinear.sh |
Steps to develop your own method
We provide tutorial about how to develop your own method, you can click here.
Steps to evaluate on your own time series
We provide tutorial about how to evaluate on your own time series, you can click here.
Pipeline introduction
The below figure provides a visual overview of TFB’s pipeline.
- The data layer is a repository of univariate and multivariate time series from diverse domains, structured according to their distinct characteristics, frequencies, and sequence lengths. The data is uniformly according to a standardized format.
- The method layer supports embedding statistical learning, machine learning and deep learning methods. Additionally, TFB is designed to be compatible with any third-party TSF library, such as Darts, TSlib. Users can easily integrate forecasting methods implemented in third-party libraries into TFB by writing a simple Universal Interface, facilitating fair comparisons.
- The evaluation layer offers support for a diverse range of evaluation strategies and metrics. And it also covers evaluation metrics found in other studies and enables the use of customized metrics for a more comprehensive assessment of method performance.
- The reporting layer encompasses a logging system for tracking information, enabling the capture of experimental settings to enable traceability.
FAQ
How to use Pycharm to run code?
When running under pycharm,please escape the double quotes, remove the spaces, and remove the single quotes at the beginning and end.
Such as: ‘{“d_ff”: 512, “d_model”: 256}’ —> {\“d_ff\“:512,\“d_model\“:256}
1 | --config-path "rolling_forecast_config.json" --data-name-list "ILI.csv" --strategy-args {\"horizon\":24} --model-name "time_series_library.DLinear" --model-hyper-params {\"batch_size\":16,\"d_ff\":512,\"d_model\":256,\"lr\":0.01,\"horizon\":24,\"seq_len\":104} --adapter "transformer_adapter" --gpus 0 --num-workers 1 --timeout 60000 --save-path "ILI/DLinear" |
Citing TFB
If you find TFB helpful, please cite our paper (Bibtex below).
1 | @article{qiu2024tfb, |
Contact
If you have any questions or suggestions, feel free to contact:
- Xiangfei Qiu (xfqiu@stu.ecnu.edu.cn)